

// leetcode 416. 分割等和子集
//class Solution {
//    public boolean canPartition(int[] nums) {
//        int sum = 0;
//        for (int i = 0; i < nums.length; i++) {
//            sum += nums[i];
//        }
//        if (sum % 2 != 0) return false;
//        int target = sum / 2;
//        boolean[] dp = new boolean[target + 1];
//        dp[0] = true;
//        // dp[j] = dp[j] || dp[j - nums[i]]
//        for (int i = 0; i < nums.length; i++) {
//            for (int j = dp.length - 1; j >= nums[i]; j--) {
//                dp[j] |= dp[j - nums[i]];
//            }
//        }
//
//        return dp[target];
//    }
//}